{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![Parsr Logo](logo.png \"Parsr Logo\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Parsr: Jupyter Notebook Demo"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This notebook provides a demo showing how one can process a document (pdf or image) using the Parsr pipeline's API interface to generate its various outputs."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Module Import"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from parsr_client import ParsrClient as client\n",
    "from output_renderer import RenderMarkdown, RenderJSON, RenderHTML"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Initialize the client object"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "parsr = client('localhost:3001')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Send document for processing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "> Polling server for the job ee50fbc49bb9354163dc901d4233cb...\n",
      ">> Job done!\n",
      "{\n",
      "    \u001b[94m\"config_path\"\u001b[39;49;00m: \u001b[33m\"../../server/defaultConfig.json\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"file_path\"\u001b[39;49;00m: \u001b[33m\"./sampleFile.pdf\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"server_response\"\u001b[39;49;00m: \u001b[33m\"ee50fbc49bb9354163dc901d4233cb\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"status_code\"\u001b[39;49;00m: \u001b[34m202\u001b[39;49;00m\n",
      "}\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<output_renderer.RenderJSON at 0x7ffd12153fd0>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "job = parsr.send_document(\n",
    "    file_path='./sampleFile.pdf',\n",
    "    config_path='../../server/defaultConfig.json',\n",
    "    document_name='Sample File2',\n",
    "    wait_till_finished=True,\n",
    "    save_request_id=True,\n",
    ")\n",
    "\n",
    "RenderJSON(job)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get the Markdown output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "# 2 Quantifying Fuel-Saving Opportunities from Specific Driving Behavior Changes\n",
       "\n",
       "**2.1 Savings from Improving Individual Driving Profiles**\n",
       "\n",
       "## 2.1.1 Drive Profile Subsample from Real-World Travel Survey\n",
       "\n",
       "The interim report (Gonder et al. 2010) included results from detailed analyses on five cycles selected from a large set of real-world global positioning system (GPS) travel data collected in 2006 as part of a study by the Texas Transportation Institute and the Texas Department of Transportation (Ojah and Pearson 2008). The cycles were selected to reflect a range of kinetic intensity (KI) values. (KI represents a ratio of characteristic acceleration to aerodynamic speed and has been shown to be a useful drive cycle classification parameter [O’Keefe et al. 2007].) To determine the maximum possible cycle improvement fuel savings, the real-world cycles were converted into equivalent “ideal” cycles using the following steps:\n",
       "\n",
       "\n",
       "\n",
       "1. Calculate the trip distance of each sample trip.\n",
       "2. Eliminate stop-and-go and idling within each trip.\n",
       "3. Set the acceleration rate to 3 mph/s.\n",
       "4. Set the cruising speed to 40 mph.\n",
       "5. Continue cruising at 40 mph until the trip distance is reached.\n",
       "\n",
       "To compare vehicle simulations over each real-world cycle and its corresponding ideal cycle, a midsize conventional vehicle model from a previous NREL study was used (Earleywine et al. 2010). The results indicated a fuel savings potential of roughly 60% for the drive profiles with either very high or very low KI and of 30%–40% for the cycles with moderate KI values.\n",
       "\n",
       "Table 2-1 takes the analysis of these five cycles from the interim report a step further by examining the impact of the optimization steps one at a time in isolation. As indicated by other simulations from the interim report (Gonder et al. 2010), acceleration rate reductions can deliver some small fuel savings, but avoiding accelerations and decelerations (accel/decel) altogether saves larger amounts of fuel. This suggests that driving style improvements should focus on reducing the number of stops in high KI cycles, and not just the rate of accelerating out of a stop.\n",
       "\n",
       "### Table 2-1. Simulated fuel savings from isolated cycle improvements\n",
       "\n",
       "Figure 2-1 extends the analysis from eliminating stops for the five example cycles and examines the additional benefit from avoiding slow-and-go driving below various speed thresholds.\n",
       "\n",
       "3\n",
       "\n",
       "| ### Cycle Name | ### KI (1/km) | ### Distance (mi) |>|>|>| ### Percent Fuel Savings |  \n",
       "|---|---|---|---|---|---|---|  \n",
       "| ### Improved Speed | ### Decreased Accel | ### Eliminate Stops | ### Decreased Idle |  \n",
       "| 2012\\_2 | 3.30 | 1.3 | 5.9% | 9.5% | 29.2% | 17.4% |  \n",
       "| 2145\\_1 | 0.68 | 11.2 | 2.4% | 0.1% | 9.5% | 2.7% |  \n",
       "| 4234\\_1 | 0.59 | 58.7 | 8.5% | 1.3% | 8.5% | 3.3% |  \n",
       "| 2032\\_2 | 0.17 | 57.8 | 21.7% | 0.3% | 2.7% | 1.2% |  \n",
       "| 4171\\_1 | 0.07 | 173.9 | 58.1% | 1.6% | 2.1% | 0.5% |  \n",
       "\n",
       "\n"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "RenderMarkdown(\n",
    "    parsr.get_markdown()\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get the Raw Text output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "2 Quantifying Fuel-Saving Opportunities from Specific Driving Behavior Changes\n",
       "\n",
       "2.1 Savings from Improving Individual Driving Profiles\n",
       "\n",
       "2.1.1 Drive Profile Subsample from Real-World Travel Survey\n",
       "\n",
       "The interim report (Gonder et al. 2010) included results from detailed analyses on five cycles selected from a large set of real-world global positioning system (GPS) travel data collected in 2006 as part of a study by the Texas Transportation Institute and the Texas Department of Transportation (Ojah and Pearson 2008). The cycles were selected to reflect a range of kinetic intensity (KI) values. (KI represents a ratio of characteristic acceleration to aerodynamic speed and has been shown to be a useful drive cycle classification parameter [O’Keefe et al. 2007].) To determine the maximum possible cycle improvement fuel savings, the real-world cycles were converted into equivalent “ideal” cycles using the following steps:\n",
       "\n",
       "\n",
       "\n",
       "1. Calculate the trip distance of each sample trip.\n",
       "2. Eliminate stop-and-go and idling within each trip.\n",
       "3. Set the acceleration rate to 3 mph/s.\n",
       "4. Set the cruising speed to 40 mph.\n",
       "5. Continue cruising at 40 mph until the trip distance is reached.\n",
       "\n",
       "To compare vehicle simulations over each real-world cycle and its corresponding ideal cycle, a midsize conventional vehicle model from a previous NREL study was used (Earleywine et al. 2010). The results indicated a fuel savings potential of roughly 60% for the drive profiles with either very high or very low KI and of 30%–40% for the cycles with moderate KI values.\n",
       "\n",
       "Table 2-1 takes the analysis of these five cycles from the interim report a step further by examining the impact of the optimization steps one at a time in isolation. As indicated by other simulations from the interim report (Gonder et al. 2010), acceleration rate reductions can deliver some small fuel savings, but avoiding accelerations and decelerations (accel/decel) altogether saves larger amounts of fuel. This suggests that driving style improvements should focus on reducing the number of stops in high KI cycles, and not just the rate of accelerating out of a stop.\n",
       "\n",
       "Table 2-1. Simulated fuel savings from isolated cycle improvements\n",
       "\n",
       "Figure 2-1 extends the analysis from eliminating stops for the five example cycles and examines the additional benefit from avoiding slow-and-go driving below various speed thresholds.\n",
       "\n",
       "3\n",
       "\n",
       "Cycle Name\tKI (1/km)\tDistance (mi)\tPercent Fuel Savings\t\n",
       "Improved Speed\tDecreased Accel\tEliminate Stops\tDecreased Idle\t\n",
       "2012_2\t3.30\t1.3\t5.9%\t9.5%\t29.2%\t17.4%\t\n",
       "2145_1\t0.68\t11.2\t2.4%\t0.1%\t9.5%\t2.7%\t\n",
       "4234_1\t0.59\t58.7\t8.5%\t1.3%\t8.5%\t3.3%\t\n",
       "2032_2\t0.17\t57.8\t21.7%\t0.3%\t2.7%\t1.2%\t\n",
       "4171_1\t0.07\t173.9\t58.1%\t1.6%\t2.1%\t0.5%\t\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "RenderMarkdown(\n",
    "    parsr.get_text()\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get Pandas DataFrames from Tables"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Get the first table from the first page from the identifier *jobId*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Cycle Name</th>\n",
       "      <th>KI (1/km)</th>\n",
       "      <th>Distance (mi)</th>\n",
       "      <th>Percent Fuel Savings</th>\n",
       "      <th>Unnamed: 4</th>\n",
       "      <th>Unnamed: 5</th>\n",
       "      <th>Unnamed: 6</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>Improved Speed</td>\n",
       "      <td>Decreased Accel</td>\n",
       "      <td>Eliminate Stops</td>\n",
       "      <td>Decreased Idle</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2012_2</td>\n",
       "      <td>3.3</td>\n",
       "      <td>1.3</td>\n",
       "      <td>5.9%</td>\n",
       "      <td>9.5%</td>\n",
       "      <td>29.2%</td>\n",
       "      <td>17.4%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2145_1</td>\n",
       "      <td>0.68</td>\n",
       "      <td>11.2</td>\n",
       "      <td>2.4%</td>\n",
       "      <td>0.1%</td>\n",
       "      <td>9.5%</td>\n",
       "      <td>2.7%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4234_1</td>\n",
       "      <td>0.59</td>\n",
       "      <td>58.7</td>\n",
       "      <td>8.5%</td>\n",
       "      <td>1.3%</td>\n",
       "      <td>8.5%</td>\n",
       "      <td>3.3%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2032_2</td>\n",
       "      <td>0.17</td>\n",
       "      <td>57.8</td>\n",
       "      <td>21.7%</td>\n",
       "      <td>0.3%</td>\n",
       "      <td>2.7%</td>\n",
       "      <td>1.2%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>4171_1</td>\n",
       "      <td>0.07</td>\n",
       "      <td>173.9</td>\n",
       "      <td>58.1%</td>\n",
       "      <td>1.6%</td>\n",
       "      <td>2.1%</td>\n",
       "      <td>0.5%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Cycle Name KI (1/km) Distance (mi) Percent Fuel Savings       Unnamed: 4  \\\n",
       "0                                          Improved Speed  Decreased Accel   \n",
       "1     2012_2       3.3           1.3                 5.9%             9.5%   \n",
       "2     2145_1      0.68          11.2                 2.4%             0.1%   \n",
       "3     4234_1      0.59          58.7                 8.5%             1.3%   \n",
       "4     2032_2      0.17          57.8                21.7%             0.3%   \n",
       "5     4171_1      0.07         173.9                58.1%             1.6%   \n",
       "\n",
       "        Unnamed: 5      Unnamed: 6  \n",
       "0  Eliminate Stops  Decreased Idle  \n",
       "1            29.2%           17.4%  \n",
       "2             9.5%            2.7%  \n",
       "3             8.5%            3.3%  \n",
       "4             2.7%            1.2%  \n",
       "5             2.1%            0.5%  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsr.get_table(\n",
    "    page=1,\n",
    "    table=1,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get the full JSON output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Careful - it can be long!\n",
    "# Uncomment the following:\n",
    "\n",
    "#RenderJSON(\n",
    "#    parsr.get_json()\n",
    "#)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example: Document Versioning and Diffing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This example shows how multiple versions of a document (identified with a common `document_name`) can be sent to the client."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Send two versions of a Document"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "> Polling server for the job 576f9a029a95b68aa2d0ed5795aa49...\n",
      ">> Job done!\n",
      "{\n",
      "    \u001b[94m\"config_path\"\u001b[39;49;00m: \u001b[33m\"../../server/defaultConfig.json\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"file_path\"\u001b[39;49;00m: \u001b[33m\"./README0.pdf\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"server_response\"\u001b[39;49;00m: \u001b[33m\"576f9a029a95b68aa2d0ed5795aa49\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"status_code\"\u001b[39;49;00m: \u001b[34m202\u001b[39;49;00m\n",
      "}\n",
      "\n",
      "> Polling server for the job 1ed35e7ccbcebbf1eb29fbd36a2dca...\n",
      ">> Job done!\n",
      "{\n",
      "    \u001b[94m\"config_path\"\u001b[39;49;00m: \u001b[33m\"../../server/defaultConfig.json\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"file_path\"\u001b[39;49;00m: \u001b[33m\"./README1.pdf\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"server_response\"\u001b[39;49;00m: \u001b[33m\"1ed35e7ccbcebbf1eb29fbd36a2dca\"\u001b[39;49;00m,\n",
      "    \u001b[94m\"status_code\"\u001b[39;49;00m: \u001b[34m202\u001b[39;49;00m\n",
      "}\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<output_renderer.RenderJSON at 0x7ffd0c28ed30>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# ------------------------- Send the first version\n",
    "job1 = parsr.send_document(\n",
    "    document_name='Readme',\n",
    "    file_path='./README0.pdf',\n",
    "    config_path='../../server/defaultConfig.json',\n",
    "    wait_till_finished=True,\n",
    ")\n",
    "RenderJSON(job1)\n",
    "\n",
    "# -------------------------- Send the second revision\n",
    "job2 = parsr.send_document(\n",
    "    document_name='Readme',\n",
    "    file_path='./README1.pdf',\n",
    "    config_path='../../server/defaultConfig.json',\n",
    "    wait_till_finished=True,\n",
    ")\n",
    "RenderJSON(job2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Get all the revisions of a document using its name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['1.0.0', '2.0.0']"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsr.get_revisions('Readme')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Obtain the changes between two successive versions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "      <!doctype html>\n",
       "      <html>\n",
       "      <head>\n",
       "        <meta charset=\"utf-8\">\n",
       "            <style type=\"text/css\">\n",
       "  table {\n",
       "  border-spacing:0;\n",
       "  }\n",
       "\n",
       "  * {\n",
       "  box-sizing:border-box;\n",
       "  }\n",
       "\n",
       "  .container {\n",
       "  width:100%;\n",
       "  padding-left:30px;\n",
       "  padding-right:30px;\n",
       "  }\n",
       "\n",
       "  .blob-wrapper {\n",
       "  overflow-x:auto;\n",
       "  overflow-y:hidden;\n",
       "  border-bottom-left-radius:3px;\n",
       "  border-bottom-right-radius:3px;\n",
       "  }\n",
       "\n",
       "  .diff-table {\n",
       "  width:100%;\n",
       "  border-collapse:separate;\n",
       "  }\n",
       "\n",
       "  .diff-table tr:not(:last-child) .line-comments {\n",
       "  border-top:1px solid #eee;\n",
       "  border-bottom:1px solid #eee;\n",
       "  }\n",
       "\n",
       "  .blob-num {\n",
       "  width:1%;\n",
       "  min-width:50px;\n",
       "  padding-left:10px;\n",
       "  padding-right:10px;\n",
       "  font-family:Consolas,\"Liberation Mono\",Menlo,Courier,monospace;\n",
       "  font-size:12px;\n",
       "  line-height:18px;\n",
       "  color:rgba(0,0,0,0.3);\n",
       "  vertical-align:top;\n",
       "  text-align:right;\n",
       "  border:solid #eee;\n",
       "  cursor:pointer;\n",
       "  -webkit-user-select:none;\n",
       "  -moz-user-select:none;\n",
       "  -ms-user-select:none;\n",
       "  user-select:none;\n",
       "  border-width:0 1px 0 0;\n",
       "  }\n",
       "\n",
       "  .blob-num:hover {\n",
       "  color:rgba(0,0,0,0.6);\n",
       "  }\n",
       "\n",
       "  .blob-num:before {\n",
       "  content:attr(data-line-number);\n",
       "  }\n",
       "\n",
       "  .blob-num.non-expandable:hover {\n",
       "  color:rgba(0,0,0,0.3);\n",
       "  }\n",
       "\n",
       "  .blob-code {\n",
       "  position:relative;\n",
       "  padding-left:10px;\n",
       "  padding-right:10px;\n",
       "  font-family:Consolas,\"Liberation Mono\",Menlo,Courier,monospace;\n",
       "  font-size:12px;\n",
       "  color:#333;\n",
       "  vertical-align:top;\n",
       "  white-space:pre;\n",
       "  overflow:visible;\n",
       "  }\n",
       "\n",
       "  .blob-code .x-first {\n",
       "  border-top-left-radius:.2em;\n",
       "  border-bottom-left-radius:.2em;\n",
       "  }\n",
       "\n",
       "  .blob-code .x-last {\n",
       "  border-top-right-radius:.2em;\n",
       "  border-bottom-right-radius:.2em;\n",
       "  }\n",
       "\n",
       "  .blob-code-addition {\n",
       "  background-color:#eaffea;\n",
       "  }\n",
       "\n",
       "  .blob-code-addition .x {\n",
       "  background-color:#a6f3a6;\n",
       "  }\n",
       "\n",
       "  .blob-num-addition {\n",
       "  background-color:#dbffdb;\n",
       "  border-color:#c1e9c1;\n",
       "  }\n",
       "\n",
       "  .blob-code-deletion {\n",
       "  background-color:#ffecec;\n",
       "  }\n",
       "\n",
       "  .blob-code-deletion .x {\n",
       "  background-color:#f8cbcb;\n",
       "  }\n",
       "\n",
       "  .blob-num-deletion {\n",
       "  background-color:#fdd;\n",
       "  border-color:#f1c0c0;\n",
       "  }\n",
       "\n",
       "  .selected-line.blob-code {\n",
       "  background-color:#f8eec7;\n",
       "  }\n",
       "\n",
       "  .selected-line.blob-num {\n",
       "  background-color:#f6e8b5;\n",
       "  border-color:#f0db88;\n",
       "  }\n",
       "\n",
       "  .file-diff-split .blob-code {\n",
       "  width:49%;\n",
       "  white-space:pre-wrap;\n",
       "  word-break:break-word;\n",
       "  }\n",
       "\n",
       "  .file-diff-split .empty-cell {\n",
       "  cursor:default;\n",
       "  background-color:#fafafa;\n",
       "  border-right-color:#eee;\n",
       "  }\n",
       "\n",
       "  .file {\n",
       "  position:relative;\n",
       "  margin-top:20px;\n",
       "  margin-bottom:15px;\n",
       "  border:1px solid #ddd;\n",
       "  border-radius:3px;\n",
       "  }\n",
       "\n",
       "  .file .meta {\n",
       "  text-shadow:0 1px 0 #fff;\n",
       "  border-bottom:1px solid #d8d8d8;\n",
       "  background-color:#f7f7f7;\n",
       "  border-top-left-radius:4px;\n",
       "  border-top-right-radius:4px;\n",
       "  padding:5px 10px;\n",
       "  }\n",
       "  </style>\n",
       "      </head>\n",
       "      <body>\n",
       "          <script type=\"text/javascript\">\n",
       "  !function () {\n",
       "    document.addEventListener('click', function (event) {\n",
       "      var target = event.target\n",
       "      var classNames = target.className.split(/\\s+/)\n",
       "      if (classNames.indexOf('js-linkable-line-number') !== -1) {\n",
       "        var hash = target.getAttribute('id')\n",
       "        window.location.hash = hash\n",
       "      }\n",
       "    }, false)\n",
       "  }()\n",
       "</script>\n",
       "\n",
       "        <div class=\"container\">\n",
       "        <div class=\"file\">\n",
       "        <div class=\"data highlight blob-wrapper\">\n",
       "          <table class=\"diff-table file-diff-split\">\n",
       "          <tbody>\n",
       "      <tr>\n",
       "      <td id=\"L1\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"1\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">#&nbsp;Turn&nbsp;your&nbsp;documents&nbsp;into&nbsp;data!</td>\n",
       "      <td id=\"R1\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"1\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">#&nbsp;Turn&nbsp;your&nbsp;documents&nbsp;into&nbsp;data!</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L2\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"2\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R2\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"2\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L3\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"3\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">**Parsr,**&nbsp;is&nbsp;a&nbsp;minimal-footprint&nbsp;document&nbsp;(image,&nbsp;pdf)&nbsp;cleaning,&nbsp;parsing&nbsp;and&nbsp;extraction&nbsp;toolchain&nbsp;which&nbsp;generates&nbsp;readily&nbsp;available,&nbsp;organized&nbsp;and&nbsp;usable&nbsp;data&nbsp;for&nbsp;data&nbsp;scientists&nbsp;and&nbsp;developers.</td>\n",
       "      <td id=\"R3\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"3\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">**Parsr,**&nbsp;is&nbsp;a&nbsp;minimal-footprint&nbsp;document&nbsp;(image,&nbsp;pdf)&nbsp;cleaning,&nbsp;parsing&nbsp;and&nbsp;extraction&nbsp;toolchain&nbsp;which&nbsp;generates&nbsp;readily&nbsp;available,&nbsp;organized&nbsp;and&nbsp;usable&nbsp;data&nbsp;for&nbsp;data&nbsp;scientists&nbsp;and&nbsp;developers.</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L4\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"4\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R4\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"4\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L5\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"5\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">It&nbsp;provides&nbsp;users&nbsp;with&nbsp;clean&nbsp;structured&nbsp;and&nbsp;label-enriched&nbsp;information&nbsp;set&nbsp;for&nbsp;ready-to-use&nbsp;applications&nbsp;ranging&nbsp;from&nbsp;data&nbsp;entry&nbsp;and&nbsp;document&nbsp;analysis&nbsp;au-&nbsp;tomation,&nbsp;archival,&nbsp;and&nbsp;many&nbsp;others.</td>\n",
       "      <td id=\"R5\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"5\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">It&nbsp;provides&nbsp;users&nbsp;with&nbsp;clean&nbsp;structured&nbsp;and&nbsp;label-enriched&nbsp;information&nbsp;set&nbsp;for&nbsp;ready-to-use&nbsp;applications&nbsp;ranging&nbsp;from&nbsp;data&nbsp;entry&nbsp;and&nbsp;document&nbsp;analysis&nbsp;au-&nbsp;tomation,&nbsp;archival,&nbsp;and&nbsp;many&nbsp;others.</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L6\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"6\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R6\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"6\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L7\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"7\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Currently,&nbsp;Parsr&nbsp;can&nbsp;perform:</td>\n",
       "      <td id=\"R7\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"7\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Currently,&nbsp;Parsr&nbsp;can&nbsp;perform:</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L8\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"8\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R8\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"8\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L9\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"9\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;Document&nbsp;Hierarchy&nbsp;Regeneration&nbsp;-&nbsp;Words,&nbsp;Lines&nbsp;and&nbsp;Paragraphs</td>\n",
       "      <td id=\"R9\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"9\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;Document&nbsp;Hierarchy&nbsp;Regeneration&nbsp;-&nbsp;Words,&nbsp;Lines&nbsp;and&nbsp;Paragraphs</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L10\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"10\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;Headings&nbsp;Detection</td>\n",
       "      <td id=\"R10\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"10\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;Headings&nbsp;Detection</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L11\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"11\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\">3.&nbsp;Key-Value&nbsp;Pair&nbsp;Detection&nbsp;(for&nbsp;the&nbsp;extraction&nbsp;of&nbsp;speciﬁc&nbsp;form-based&nbsp;entries)</td>\n",
       "      <td id=\"R11\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"11\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\">3.<span class=\"x x-first x-last\">&nbsp;Table&nbsp;Detection&nbsp;and&nbsp;Reconstruction</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R12\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"12\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">4.&nbsp;Lists&nbsp;Detection</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R13\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"13\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">5.&nbsp;Text&nbsp;Order&nbsp;Detection</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R14\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"14\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">6.&nbsp;Named&nbsp;Entity&nbsp;Recognition&nbsp;(Dates,&nbsp;Percentages,&nbsp;etc)</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R15\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"15\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">7.</span>&nbsp;Key-Value&nbsp;Pair&nbsp;Detection&nbsp;(for&nbsp;the&nbsp;extraction&nbsp;of&nbsp;speciﬁc&nbsp;form-based&nbsp;entries)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L12\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"12\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">4</span>.&nbsp;Page&nbsp;Number&nbsp;Detection</td>\n",
       "      <td id=\"R16\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"16\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">8</span>.&nbsp;Page&nbsp;Number&nbsp;Detection</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L13\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"13\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">5</span>.&nbsp;Header-Footer&nbsp;Detection</td>\n",
       "      <td id=\"R17\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"17\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">9</span>.&nbsp;Header-Footer&nbsp;Detection</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L14\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"14\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">6</span>.&nbsp;Link&nbsp;Detection</td>\n",
       "      <td id=\"R18\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"18\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">10</span>.&nbsp;Link&nbsp;Detection</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L15\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"15\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">7</span>.&nbsp;Heading&nbsp;Detection</td>\n",
       "      <td id=\"R19\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"19\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">11</span>.&nbsp;Heading&nbsp;Detection</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L16\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"16\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">8</span>.&nbsp;Whitespace&nbsp;Removal</td>\n",
       "      <td id=\"R20\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"20\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">12</span>.&nbsp;Whitespace&nbsp;Removal</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L17\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"17\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R21\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"21\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L18\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"18\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Parsr&nbsp;can&nbsp;generate&nbsp;the&nbsp;following&nbsp;output&nbsp;formats:</td>\n",
       "      <td id=\"R22\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"22\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Parsr&nbsp;can&nbsp;generate&nbsp;the&nbsp;following&nbsp;output&nbsp;formats:</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L19\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"19\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R23\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"23\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L20\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"20\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;JSON</td>\n",
       "      <td id=\"R24\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"24\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;JSON</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L21\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"21\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;Markdown</td>\n",
       "      <td id=\"R25\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"25\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;Markdown</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L22\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"22\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">3.&nbsp;Text</td>\n",
       "      <td id=\"R26\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"26\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">3.&nbsp;Text</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L23\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"23\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">4.&nbsp;CSV&nbsp;(for&nbsp;tables),&nbsp;or&nbsp;Pandas&nbsp;Dataframes&nbsp;(see&nbsp;[here)](demo/jupyter-notebook/parsr_api.py)</td>\n",
       "      <td id=\"R27\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"27\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">4.&nbsp;CSV&nbsp;(for&nbsp;tables),&nbsp;or&nbsp;Pandas&nbsp;Dataframes&nbsp;(see&nbsp;[here)](demo/jupyter-notebook/parsr_api.py)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L24\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"24\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">5.&nbsp;PDF</td>\n",
       "      <td id=\"R28\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"28\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">5.&nbsp;PDF</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L25\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"25\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R29\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"29\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L26\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"26\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Table&nbsp;of&nbsp;Contents</td>\n",
       "      <td id=\"R30\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"30\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Table&nbsp;of&nbsp;Contents</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L27\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"27\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R31\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"31\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L28\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"28\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Turn&nbsp;your&nbsp;documents&nbsp;into&nbsp;data!](#turn-your-documents-into-data)</td>\n",
       "      <td id=\"R32\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"32\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Turn&nbsp;your&nbsp;documents&nbsp;into&nbsp;data!](#turn-your-documents-into-data)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L29\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"29\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Table&nbsp;of&nbsp;Contents](#table-of-contents)</td>\n",
       "      <td id=\"R33\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"33\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Table&nbsp;of&nbsp;Contents](#table-of-contents)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L30\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"30\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Getting&nbsp;Started](#getting-started)</td>\n",
       "      <td id=\"R34\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"34\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Getting&nbsp;Started](#getting-started)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L31\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"31\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R35\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"35\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L32\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"32\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;–&nbsp;Installation</td>\n",
       "      <td id=\"R36\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"36\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;–&nbsp;Installation</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L33\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"33\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R37\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"37\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L34\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"34\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;–&nbsp;Usage</td>\n",
       "      <td id=\"R38\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"38\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;–&nbsp;Usage</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L35\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"35\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R39\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"39\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L36\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"36\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Documentation](#documentation)</td>\n",
       "      <td id=\"R40\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"40\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Documentation](#documentation)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L37\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"37\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Contribute](#contribute)</td>\n",
       "      <td id=\"R41\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"41\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Contribute](#contribute)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L38\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"38\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Third&nbsp;Party&nbsp;Licenses](#third-party-licenses)</td>\n",
       "      <td id=\"R42\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"42\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[Third&nbsp;Party&nbsp;Licenses](#third-party-licenses)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L39\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"39\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[License](#license)</td>\n",
       "      <td id=\"R43\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"43\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;[License](#license)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L40\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"40\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R44\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"44\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R45\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"45\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">1</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R46\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"46\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R47\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"47\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">---</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R48\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"48\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L41\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"41\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Getting&nbsp;Started</td>\n",
       "      <td id=\"R49\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"49\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Getting&nbsp;Started</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L42\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"42\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R50\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"50\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L43\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"43\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;Installation</td>\n",
       "      <td id=\"R51\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"51\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;Installation</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L44\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"44\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R52\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"52\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L45\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"45\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\">-&nbsp;*The&nbsp;advanced&nbsp;installation&nbsp;guide&nbsp;is&nbsp;available&nbsp;[here](docs/installation.md)&nbsp;–*<span class=\"x x-first x-last\"></span></td>\n",
       "      <td id=\"R53\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"53\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\">-&nbsp;*The&nbsp;advanced&nbsp;installation&nbsp;guide&nbsp;is&nbsp;available&nbsp;[here](docs/installation.md)&nbsp;–*<span class=\"x x-first x-last\">&nbsp;&nbsp;</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L46\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"46\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L47\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"47\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">1</span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L48\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"48\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L49\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"49\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">---</span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L50\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"50\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L51\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"51\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">The&nbsp;quickest&nbsp;way&nbsp;to&nbsp;install&nbsp;and&nbsp;run&nbsp;the&nbsp;Parsr&nbsp;API&nbsp;is&nbsp;through&nbsp;the&nbsp;[docker&nbsp;image:](https://hub.docker.com/r/axarev/parsr)&nbsp;docker&nbsp;pull&nbsp;axarev/parsr&nbsp;&nbsp;</td>\n",
       "      <td id=\"R54\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"54\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">The&nbsp;quickest&nbsp;way&nbsp;to&nbsp;install&nbsp;and&nbsp;run&nbsp;the&nbsp;Parsr&nbsp;API&nbsp;is&nbsp;through&nbsp;the&nbsp;[docker&nbsp;image:](https://hub.docker.com/r/axarev/parsr)&nbsp;docker&nbsp;pull&nbsp;axarev/parsr&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L52\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"52\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\">If&nbsp;you&nbsp;also&nbsp;wish&nbsp;to&nbsp;install&nbsp;the&nbsp;GUI&nbsp;for&nbsp;sending&nbsp;documents&nbsp;and&nbsp;visualising&nbsp;results<span class=\"x x-first x-last\">,&nbsp;execute&nbsp;the&nbsp;following:&nbsp;&nbsp;</span></td>\n",
       "      <td id=\"R55\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"55\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\">If&nbsp;you&nbsp;also&nbsp;wish&nbsp;to&nbsp;install&nbsp;the&nbsp;GUI&nbsp;for&nbsp;sending&nbsp;documents&nbsp;and&nbsp;visualising&nbsp;results<span class=\"x x-first x-last\">:&nbsp;</span>docker&nbsp;pull&nbsp;axarev/parsr-ui-localhost&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L53\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"53\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\">docker&nbsp;pull&nbsp;axarev/parsr-ui-localhost&nbsp;&nbsp;</td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L54\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"54\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Note:&nbsp;Parsr&nbsp;can&nbsp;also&nbsp;be&nbsp;installed&nbsp;bare-metal&nbsp;(not&nbsp;via&nbsp;Docker&nbsp;containers),&nbsp;the&nbsp;procedure&nbsp;for&nbsp;which&nbsp;is&nbsp;documented&nbsp;in&nbsp;the&nbsp;[installation&nbsp;guide.](docs/installation.md)</td>\n",
       "      <td id=\"R56\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"56\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Note:&nbsp;Parsr&nbsp;can&nbsp;also&nbsp;be&nbsp;installed&nbsp;bare-metal&nbsp;(not&nbsp;via&nbsp;Docker&nbsp;containers),&nbsp;the&nbsp;procedure&nbsp;for&nbsp;which&nbsp;is&nbsp;documented&nbsp;in&nbsp;the&nbsp;[installation&nbsp;guide.](docs/installation.md)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L55\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"55\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R57\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"57\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L56\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"56\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;Usage</td>\n",
       "      <td id=\"R58\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"58\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">###&nbsp;Usage</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L57\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"57\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R59\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"59\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L58\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"58\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;*The&nbsp;advanced&nbsp;usage&nbsp;guide&nbsp;is&nbsp;available&nbsp;[here](docs/usage.md)&nbsp;–*&nbsp;&nbsp;</td>\n",
       "      <td id=\"R60\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"60\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">-&nbsp;*The&nbsp;advanced&nbsp;usage&nbsp;guide&nbsp;is&nbsp;available&nbsp;[here](docs/usage.md)&nbsp;–*&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L59\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"59\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">To&nbsp;run&nbsp;the&nbsp;[API,](docs/api-guide.md)&nbsp;issue:&nbsp;&nbsp;</td>\n",
       "      <td id=\"R61\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"61\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">To&nbsp;run&nbsp;the&nbsp;[API,](docs/api-guide.md)&nbsp;issue:&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L60\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"60\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">docker&nbsp;run&nbsp;-p&nbsp;3001:3001&nbsp;axarev/parsr&nbsp;&nbsp;</td>\n",
       "      <td id=\"R62\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"62\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">docker&nbsp;run&nbsp;-p&nbsp;3001:3001&nbsp;axarev/parsr&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R63\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"63\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">which&nbsp;will&nbsp;launch&nbsp;it&nbsp;on&nbsp;[http://localhost:3001.](http://localhost:3001)&nbsp;&nbsp;</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R64\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"64\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">Consult&nbsp;the&nbsp;documentation&nbsp;on&nbsp;the&nbsp;[usage&nbsp;of&nbsp;the&nbsp;API.](docs/api-guide.md)&nbsp;&nbsp;</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L61\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"61\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">To&nbsp;use&nbsp;the&nbsp;**Jupyter&nbsp;Notebook**&nbsp;and&nbsp;the&nbsp;**python**&nbsp;interface&nbsp;to&nbsp;the&nbsp;Parsr&nbsp;API,&nbsp;follow&nbsp;here.&nbsp;&nbsp;</td>\n",
       "      <td id=\"R65\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"65\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">To&nbsp;use&nbsp;the&nbsp;**Jupyter&nbsp;Notebook**&nbsp;and&nbsp;the&nbsp;**python**&nbsp;interface&nbsp;to&nbsp;the&nbsp;Parsr&nbsp;API,&nbsp;follow&nbsp;here.&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L62\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"62\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">To&nbsp;use&nbsp;the&nbsp;GUI&nbsp;tool&nbsp;(the&nbsp;API&nbsp;needs&nbsp;to&nbsp;already&nbsp;be&nbsp;running),&nbsp;issue:&nbsp;docker&nbsp;run&nbsp;-t&nbsp;-p&nbsp;8080:80&nbsp;axarev/parsr-ui-localhost:latest&nbsp;Then,&nbsp;access&nbsp;it&nbsp;through&nbsp;[http://localhost:8080.](http://localhost:8080)&nbsp;&nbsp;</td>\n",
       "      <td id=\"R66\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"66\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">To&nbsp;use&nbsp;the&nbsp;GUI&nbsp;tool&nbsp;(the&nbsp;API&nbsp;needs&nbsp;to&nbsp;already&nbsp;be&nbsp;running),&nbsp;issue:&nbsp;docker&nbsp;run&nbsp;-t&nbsp;-p&nbsp;8080:80&nbsp;axarev/parsr-ui-localhost:latest&nbsp;Then,&nbsp;access&nbsp;it&nbsp;through&nbsp;[http://localhost:8080.](http://localhost:8080)&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R67\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"67\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">Refer&nbsp;to&nbsp;the&nbsp;[Conﬁguration&nbsp;documentation](docs/configuration.md)&nbsp;to&nbsp;interpret&nbsp;the&nbsp;conﬁgurable&nbsp;options&nbsp;in&nbsp;the&nbsp;GUI&nbsp;viewer.&nbsp;&nbsp;</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L63\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"63\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">The&nbsp;[API&nbsp;based&nbsp;usage](docs/usage.md#13-api)&nbsp;and&nbsp;the&nbsp;[command&nbsp;line&nbsp;usage](docs/usage.md#123-command-line-usage)&nbsp;are&nbsp;documented&nbsp;in&nbsp;the&nbsp;[advanced&nbsp;usage](docs/usage.md)&nbsp;guide.</td>\n",
       "      <td id=\"R68\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"68\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">The&nbsp;[API&nbsp;based&nbsp;usage](docs/usage.md#13-api)&nbsp;and&nbsp;the&nbsp;[command&nbsp;line&nbsp;usage](docs/usage.md#123-command-line-usage)&nbsp;are&nbsp;documented&nbsp;in&nbsp;the&nbsp;[advanced&nbsp;usage](docs/usage.md)&nbsp;guide.</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L64\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"64\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R69\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"69\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L65\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"65\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;To&nbsp;use&nbsp;the&nbsp;**Jupyter&nbsp;Notebook**&nbsp;and&nbsp;the&nbsp;**python**&nbsp;interface&nbsp;to&nbsp;the&nbsp;Parsr&nbsp;API,&nbsp;follow&nbsp;here.</td>\n",
       "      <td id=\"R70\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"70\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;To&nbsp;use&nbsp;the&nbsp;**Jupyter&nbsp;Notebook**&nbsp;and&nbsp;the&nbsp;**python**&nbsp;interface&nbsp;to&nbsp;the&nbsp;Parsr&nbsp;API,&nbsp;follow&nbsp;here.</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L66\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"66\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;To&nbsp;use&nbsp;the&nbsp;GUI&nbsp;tool&nbsp;(the&nbsp;API&nbsp;needs&nbsp;to&nbsp;already&nbsp;be&nbsp;running),&nbsp;issue:&nbsp;docker&nbsp;run&nbsp;-t&nbsp;-p&nbsp;8080:80&nbsp;axarev/parsr-ui-localhost:latest&nbsp;Then,&nbsp;access&nbsp;it&nbsp;through&nbsp;[http://localhost:8080.](http://localhost:8080)&nbsp;&nbsp;</td>\n",
       "      <td id=\"R71\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"71\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;To&nbsp;use&nbsp;the&nbsp;GUI&nbsp;tool&nbsp;(the&nbsp;API&nbsp;needs&nbsp;to&nbsp;already&nbsp;be&nbsp;running),&nbsp;issue:&nbsp;docker&nbsp;run&nbsp;-t&nbsp;-p&nbsp;8080:80&nbsp;axarev/parsr-ui-localhost:latest&nbsp;Then,&nbsp;access&nbsp;it&nbsp;through&nbsp;[http://localhost:8080.](http://localhost:8080)&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R72\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"72\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">Refer&nbsp;to&nbsp;the&nbsp;[Conﬁguration&nbsp;documentation](docs/configuration.md)&nbsp;to&nbsp;interpret&nbsp;the&nbsp;conﬁgurable&nbsp;options&nbsp;in&nbsp;the&nbsp;GUI&nbsp;viewer.&nbsp;&nbsp;</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L67\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"67\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">The&nbsp;[API&nbsp;based&nbsp;usage](docs/usage.md#13-api)&nbsp;and&nbsp;the&nbsp;[command&nbsp;line&nbsp;usage](docs/usage.md#123-command-line-usage)&nbsp;are&nbsp;documented&nbsp;in&nbsp;the&nbsp;[advanced&nbsp;usage](docs/usage.md)&nbsp;guide.</td>\n",
       "      <td id=\"R73\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"73\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">The&nbsp;[API&nbsp;based&nbsp;usage](docs/usage.md#13-api)&nbsp;and&nbsp;the&nbsp;[command&nbsp;line&nbsp;usage](docs/usage.md#123-command-line-usage)&nbsp;are&nbsp;documented&nbsp;in&nbsp;the&nbsp;[advanced&nbsp;usage](docs/usage.md)&nbsp;guide.</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L68\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"68\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R74\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"74\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L69\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"69\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Documentation</td>\n",
       "      <td id=\"R75\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"75\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Documentation</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L70\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"70\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R76\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"76\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L71\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"71\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">All&nbsp;documentation&nbsp;ﬁles&nbsp;can&nbsp;be&nbsp;found&nbsp;[here.](docs/README.md)</td>\n",
       "      <td id=\"R77\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"77\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">All&nbsp;documentation&nbsp;ﬁles&nbsp;can&nbsp;be&nbsp;found&nbsp;[here.](docs/README.md)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L72\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"72\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R78\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"78\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L73\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"73\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Contribute</td>\n",
       "      <td id=\"R79\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"79\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Contribute</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L74\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"74\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R80\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"80\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L75\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"75\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Please&nbsp;refer&nbsp;to&nbsp;the&nbsp;[contribution&nbsp;guidelines.](CONTRIBUTING.md)</td>\n",
       "      <td id=\"R81\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"81\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Please&nbsp;refer&nbsp;to&nbsp;the&nbsp;[contribution&nbsp;guidelines.](CONTRIBUTING.md)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L76\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"76\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R82\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"82\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R83\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"83\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">2</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R84\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"84\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R85\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"85\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\">---</span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      <td id=\"R86\" class=\"blob-num blob-num-addition base js-linkable-line-number\" data-line-number=\"86\"></td>\n",
       "      <td class=\"blob-code blob-code-addition base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L77\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"77\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Third&nbsp;Party&nbsp;Licenses</td>\n",
       "      <td id=\"R87\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"87\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;Third&nbsp;Party&nbsp;Licenses</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L78\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"78\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R88\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"88\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L79\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"79\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Third&nbsp;Party&nbsp;Libraries&nbsp;licenses&nbsp;for&nbsp;its&nbsp;[dependencies:](docs/dependencies.md)</td>\n",
       "      <td id=\"R89\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"89\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Third&nbsp;Party&nbsp;Libraries&nbsp;licenses&nbsp;for&nbsp;its&nbsp;[dependencies:](docs/dependencies.md)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L80\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"80\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R90\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"90\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L81\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"81\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;**QPDF:**&nbsp;Apache&nbsp;[http://qpdf.sourceforge.net](http://qpdf.sourceforge.net/)</td>\n",
       "      <td id=\"R91\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"91\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">1.&nbsp;**QPDF:**&nbsp;Apache&nbsp;[http://qpdf.sourceforge.net](http://qpdf.sourceforge.net/)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L82\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"82\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;**GraphicsMagick:**&nbsp;MIT&nbsp;[http://www.graphicsmagick.org/index.html](http://www.graphicsmagick.org/index.html)</td>\n",
       "      <td id=\"R92\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"92\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">2.&nbsp;**GraphicsMagick:**&nbsp;MIT&nbsp;[http://www.graphicsmagick.org/index.html](http://www.graphicsmagick.org/index.html)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L83\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"83\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">3.&nbsp;**ImageMagick:**&nbsp;Apache&nbsp;2.0&nbsp;[https://imagemagick.org/script/license.php](https://imagemagick.org/script/license.php)</td>\n",
       "      <td id=\"R93\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"93\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">3.&nbsp;**ImageMagick:**&nbsp;Apache&nbsp;2.0&nbsp;[https://imagemagick.org/script/license.php](https://imagemagick.org/script/license.php)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L84\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"84\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">4.&nbsp;**Pdfminer.six:**&nbsp;MIT&nbsp;[https://github.com/pdfminer/pdfminer.six/blob/master/LICENSE](https://github.com/pdfminer/pfminer.six/blob/master/LICENSE)</td>\n",
       "      <td id=\"R94\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"94\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">4.&nbsp;**Pdfminer.six:**&nbsp;MIT&nbsp;[https://github.com/pdfminer/pdfminer.six/blob/master/LICENSE](https://github.com/pdfminer/pfminer.six/blob/master/LICENSE)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L85\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"85\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L86\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"86\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">2</span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L87\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"87\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L88\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"88\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\">---</span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L89\" class=\"blob-num blob-num-deletion base js-linkable-line-number\" data-line-number=\"89\"></td>\n",
       "      <td class=\"blob-code blob-code-deletion base\"><span class=\"x x-first x-last\"></span></td>\n",
       "      <td class=\"blob-num blob-num-empty head empty-cell\"></td>\n",
       "      <td class=\"blob-code blob-code-empty head empty-cell\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L90\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"90\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">5.&nbsp;**Tesseract:**&nbsp;Apache&nbsp;2.0&nbsp;[https://github.com/tesseract-ocr/tesseract](https://github.com/tesseract-ocr/tesseract)</td>\n",
       "      <td id=\"R95\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"95\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">5.&nbsp;**Tesseract:**&nbsp;Apache&nbsp;2.0&nbsp;[https://github.com/tesseract-ocr/tesseract](https://github.com/tesseract-ocr/tesseract)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L91\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"91\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">6.&nbsp;**Camelot:**&nbsp;MIT&nbsp;[https://github.com/camelot-dev/camelot](https://github.com/camelot-dev/camelot)</td>\n",
       "      <td id=\"R96\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"96\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">6.&nbsp;**Camelot:**&nbsp;MIT&nbsp;[https://github.com/camelot-dev/camelot](https://github.com/camelot-dev/camelot)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L92\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"92\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">7.&nbsp;**MuPDF**&nbsp;(Optional&nbsp;dependency):&nbsp;AGPL&nbsp;[https://mupdf.com/license.html](https://mupdf.com/license.html)</td>\n",
       "      <td id=\"R97\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"97\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">7.&nbsp;**MuPDF**&nbsp;(Optional&nbsp;dependency):&nbsp;AGPL&nbsp;[https://mupdf.com/license.html](https://mupdf.com/license.html)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L93\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"93\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">8.&nbsp;**Pandoc**&nbsp;(Optional&nbsp;dependency):&nbsp;GPL&nbsp;[https://github.com/jgm/pandoc](https://github.com/jgm/pandoc)</td>\n",
       "      <td id=\"R98\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"98\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">8.&nbsp;**Pandoc**&nbsp;(Optional&nbsp;dependency):&nbsp;GPL&nbsp;[https://github.com/jgm/pandoc](https://github.com/jgm/pandoc)</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L94\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"94\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R99\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"99\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L95\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"95\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;License</td>\n",
       "      <td id=\"R100\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"100\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">##&nbsp;License</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L96\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"96\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R101\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"101\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L97\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"97\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Copyright&nbsp;2019&nbsp;AXA&nbsp;Group&nbsp;Operations&nbsp;S.A.&nbsp;&nbsp;</td>\n",
       "      <td id=\"R102\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"102\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Copyright&nbsp;2019&nbsp;AXA&nbsp;Group&nbsp;Operations&nbsp;S.A.&nbsp;&nbsp;</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L98\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"98\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Licensed&nbsp;under&nbsp;the&nbsp;[Apache&nbsp;2.0](http://www.apache.org/licenses/LICENSE-2.0)&nbsp;license&nbsp;(see&nbsp;the&nbsp;[LICENSE](LICENSE)&nbsp;ﬁle).</td>\n",
       "      <td id=\"R103\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"103\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">Licensed&nbsp;under&nbsp;the&nbsp;[Apache&nbsp;2.0](http://www.apache.org/licenses/LICENSE-2.0)&nbsp;license&nbsp;(see&nbsp;the&nbsp;[LICENSE](LICENSE)&nbsp;ﬁle).</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L99\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"99\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R104\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"104\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L100\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"100\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">3</td>\n",
       "      <td id=\"R105\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"105\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\">3</td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L101\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"101\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R106\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"106\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "      <tr>\n",
       "      <td id=\"L102\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"102\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      <td id=\"R107\" class=\"blob-num blob-num-context base js-linkable-line-number\" data-line-number=\"107\"></td>\n",
       "      <td class=\"blob-code blob-code-context base\"></td>\n",
       "      </tr>\n",
       "    </tbody>\n",
       "    </table>\n",
       "  </div>\n",
       "  </div>\n",
       "  </div>\n",
       "</body>\n",
       "</html>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "RenderHTML( parsr.compare_revisions('Readme', pretty_html=True)[0] )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example: Interpret the JSON output locally and get all text on Page 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 Quantifying Fuel-Saving Opportunities from Specific Driving Behavior Changes \n",
      "\n",
      "2.1 Savings from Improving Individual Driving Profiles \n",
      "\n",
      "2.1.1 Drive Profile Subsample from Real-World Travel Survey \n",
      "\n",
      "The interim report (Gonder et al. 2010) included results from detailed analyses on five cycles selected from a large set of real-world global positioning system (GPS) travel data collected in 2006 as part of a study by the Texas Transportation Institute and the Texas Department of Transportation (Ojah and Pearson 2008). The cycles were selected to reflect a range of kinetic intensity (KI) values. (KI represents a ratio of characteristic acceleration to aerodynamic speed and has been shown to be a useful drive cycle classification parameter [O’Keefe et al. 2007].) To determine the maximum possible cycle improvement fuel savings, the real-world cycles were converted into equivalent “ideal” cycles using the following steps: \n",
      "\n",
      "\n",
      "\n",
      "To compare vehicle simulations over each real-world cycle and its corresponding ideal cycle, a midsize conventional vehicle model from a previous NREL study was used (Earleywine et al. 2010). The results indicated a fuel savings potential of roughly 60% for the drive profiles with either very high or very low KI and of 30%–40% for the cycles with moderate KI values. \n",
      "\n",
      "Table 2-1 takes the analysis of these five cycles from the interim report a step further by examining the impact of the optimization steps one at a time in isolation. As indicated by other simulations from the interim report (Gonder et al. 2010), acceleration rate reductions can deliver some small fuel savings, but avoiding accelerations and decelerations (accel/decel) altogether saves larger amounts of fuel. This suggests that driving style improvements should focus on reducing the number of stops in high KI cycles, and not just the rate of accelerating out of a stop. \n",
      "\n",
      "Table 2-1. Simulated fuel savings from isolated cycle improvements \n",
      "\n",
      "Figure 2-1 extends the analysis from eliminating stops for the five example cycles and examines the additional benefit from avoiding slow-and-go driving below various speed thresholds. \n",
      "\n",
      "3 \n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from parsr_client import ParsrOutputInterpreter as ParsrOutputInterpreter\n",
    "\n",
    "parsr_interpreter = ParsrOutputInterpreter(\n",
    "    parsr.get_json()\n",
    ")\n",
    "\n",
    "t = parsr_interpreter.get_text(\n",
    "    page_number=1\n",
    ")\n",
    "print(t)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
